/*
 * 在使用匿名内部类时，要记住以下几个原则：
 *  1）匿名内部类不能有构造方法。  
 *  2）匿名内部类不能定义任何静态成员、方法和类。  
 *  3）匿名内部类不能是public,protected,private,static。  
 *  4）只能创建匿名内部类的一个实例。
 *  5）一个匿名内部类一定是在new的后面，用其隐含实现一个接口或实现一个类。  
 *  6）因匿名内部类为局部内部类，所以局部内部类的所有限制都对其生效。
 *  
 */

package anonymousClass;

interface IStringDeal{
	public String filterBlankChar();//申明过滤字符串中的空格方法
}

public class AnonymousClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		final String sourceStr="广东省 珠海市 香洲区 唐家湾镇 金凤路6号 北京理工大学珠海学院";
		IStringDeal s=new IStringDeal() {	//编写匿名内部类
			public String filterBlankChar() {
				String converStr=sourceStr;
				converStr=converStr.replaceAll(" ","");	//替换全部空格
				return converStr;	//返回转换后的字符串
			}
		};
		System.out.println("源字符串："+sourceStr);
		System.out.println("转换后的字符串："+s.filterBlankChar());
	}

}
